package com.netty.bytebuf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

import java.nio.charset.StandardCharsets;

/**
 * @author renyitong
 * @version 1.0.0
 * @createTime 2023年08月10日
 * @Description 在写入一个超出当前容量的数据时，会进行动态扩容，
 * 扩容会从64开始，之后每次触发扩容都会x2，当然如果我们不希望它扩容，可以指定最大容量
 *  readerIndex   <=   writerIndex    <=    capacity   前一个区间可读，后一个区间可写
 */
public class Demo02 {

    public static void main(String[] args) {
        // 容量只有10字节
        // ByteBuf buf = Unpooled.buffer(10);
        ByteBuf buf = Unpooled.buffer(10,10);
        System.out.println("当前数组的容量为: " + buf.capacity());
        //直接写一个字符串 ， 很明显这么多字已经超过10字节了
        buf.writeCharSequence("卢本伟牛逼！", StandardCharsets.UTF_8);
        System.out.println("自动扩容后数组的容量为: " + buf.capacity());
    }

}
